clear
set more off

global ecrmen "\\intra\partages\au_amic2\SRCV_AVRIL2021\BASES_FEV2022_V5\MENAGES"
global ecrind "\\intra\partages\au_amic2\SRCV_AVRIL2021\BASES_FEV2022_V5\INDIVIDUS"
global ecrfin "\\intra\partages\au_amic2\SRCV_AVRIL2021\BASES_FEV2022_V5\TOTAL"
global ecrstat "\\intra\partages\au_amic2\SRCV_AVRIL2021\STAT_fev2022_V5"
global ecrprov "\\intra\partages\au_amic2\SRCV_AVRIL2021\prov_fev2022_V5"

/**********************************************************************/
/* II - calcul des différents agrégats PROPOSITION 1 ET PROPOSITION 2 */
/**********************************************************************/
* calcul de total after taxes
clear 
use "$ecrfin\ind_men_2008_2019_fin.dta", clear

* PROPOSITION 1 : on répartit les variables issues de "	MENAGES" en les divisant par le nombre d'individus composant le ménage 
gen labour_income 	= PY010N + PY050N
gen capital_income 	= P_HY090N + P_HY040N - P_HY100N
gen transfer_income = PY100N + PY090N + PY110N + PY130N + PY120N + PY140N + P_HY050N + P_HY070N + P_HY060N + P_HY080N - P_HY130N + P_HY110N
gen total_pre_tax 	= labour_income + capital_income + transfer_income
gen taxes		 	= P_HY145N + P_HY120N
gen total_after_tax = total_pre_tax - taxes
save "$ecrfin\ind_men_2008_2019_agregats.dta", replace


* PROPOSITION 2 : 
* - on répartit les variables issues de "MENAGES" en les affectant uniquement aux individus avec un labour_income 
* - si aucun individu n'a de labour_income on utilise la méthode initiale
clear 
use "$ecrfin\ind_men_2008_2019_agregats.dta", clear
foreach var of varlist HY040N HY050N HY060N HY070N HY080N HY090N HY100N HY110N HY120N HY130N HY145N {
replace Pvar_`var'= P_`var' if (share_labour == . )
}
gen labour_income_var 	= PY010N + PY050N
gen capital_income_var 	= Pvar_HY090N + Pvar_HY040N - Pvar_HY100N
gen transfer_income_var = PY100N + PY090N + PY110N + PY130N + PY120N + PY140N + Pvar_HY050N + Pvar_HY070N + Pvar_HY060N + Pvar_HY080N - Pvar_HY130N + Pvar_HY110N
gen total_pre_tax_var 	= labour_income_var + capital_income_var + transfer_income_var
gen taxes_var		 	= Pvar_HY145N + Pvar_HY120N
gen total_after_tax_var = total_pre_tax_var - taxes_var
save "$ecrfin\ind_men_2008_2019_agregats.dta", replace

/******************************************************************************************/
/* IV - comparaison de :                                                                  */
/*      total_after_tax et total after_tax_var calculées par individu                     */
/*      et recomposées au niveau ménage avec (HY020N-HY100N) issus du fichier ménages     */                                          */
/*       on a à peu près la même chose pour 95% des observations                          */ 
/******************************************************************************************/
* 1 - recomposition du total_after_tax par MENAGE/annee_SRCV : somme par idmenc/annee_SRCV
clear 
use "$ecrfin\ind_men_2008_2019_agregats.dta", clear
sort idmenc annee_SRCV ind
order idmenc annee_SRCV ind
collapse (sum) total_after_tax_p1=total_after_tax total_after_tax_p2=total_after_tax_var, by(idmenc annee_SRCV)
save "$ecrprov\total_after_tax_famille.dta", replace

* 2 - récupération nb_idindc, HY020 et HY100N par idmenc annee_SRCV
clear 
use "$ecrfin\ind_men_2008_2019_agregats.dta", clear
sort men annee_SRCV ind
order men annee_SRCV ind 
keep idmenc annee_SRCV nb_idindc HY020 HY100N
duplicates drop idmenc annee_SRCV, force
save "$ecrprov\nb_idindc.dta", replace

* 3 - appariement table ci-dessus avec nb_idindc
clear			
use "$ecrprov\total_after_tax_famille.dta", clear
duplicates drop idmenc annee_SRCV, force
clear
use "$ecrprov\nb_idindc.dta", clear
duplicates drop idmenc annee_SRCV, force
clear			
use "$ecrprov\total_after_tax_famille.dta", clear
merge 1:1 idmenc annee_SRCV using "$ecrprov\nb_idindc.dta"
drop _merge
save "$ecrprov\comparaison.dta", replace

* 4 - récupération des revenus des individus avec adultvrairep == 0
* remplacement des points par zéro
clear
use "$ecrfin\adultvrairep_a_zero.dta", clear
foreach var of varlist PY100N PY110N PY010N PY050N PY090N PY120N PY130N PY140N {
replace `var'= 0 if `var' == .
}
save "$ecrprov\adultvrairep_a_zero.dta", replace 

* somme par idmenc/anne de tous les revenus non pris en compte dans total_after_tax
clear
use "$ecrprov\adultvrairep_a_zero.dta", clear
gen revenus_indi_supp = PY100N+PY110N+PY010N+PY050N+PY090N+PY120N+PY130N+PY140N 
save "$ecrprov\adultvrairep_a_zero.dta", replace 
count /* 67 743 obs. et 16 var. */
clear
use "$ecrprov\adultvrairep_a_zero.dta", clear
collapse (sum) revenus_indi_supp_famille=revenus_indi_supp, by(idmenc annee_SRCV)
save "$ecrprov\adultvrairep_a_zero_fin.dta", replace
count /* 38 305 */

* appariement table ci-dessus avec comparaison.dta
clear			
use "$ecrprov\adultvrairep_a_zero_fin.dta", clear
duplicates drop idmenc annee_SRCV, force
count /* 38 305 */
clear
use "$ecrprov\comparaison.dta", clear
duplicates drop idmenc annee_SRCV, force
count /* 134 473 */
clear			
use "$ecrprov\comparaison.dta", clear
merge m:m idmenc annee_SRCV using "$ecrprov\adultvrairep_a_zero_fin.dta"
drop _merge
replace revenus_indi_supp_famille = 0 if revenus_indi_supp_famille == .
save "$ecrprov\comparaison_fin.dta", replace
count /* 134 473 */

* 5 - comparaison série recalculée (total_after_tax_famille+revenus_indi_supp_famille) et (HY020-HY100N)
* création de diff 
clear			
use "$ecrprov\comparaison_fin.dta", clear
* création de diff_int 
gen diff_p1 = (HY020-HY100N) - (total_after_tax_p1+revenus_indi_supp_famille)
gen diff_p2 = (HY020-HY100N) - (total_after_tax_p2+revenus_indi_supp_famille)
gen diff_p1r=round(diff_p1)
gen diff_p2r=round(diff_p2)

gen groupe_diff_p1 = 0
replace groupe_diff_p1 = 1 if diff_p1r >= -10 & diff_p1r <= 10 /* écarts faibles */  
replace groupe_diff_p1 = 2 if diff_p1r <  -10 | diff_p1r > 10  /* écarts plus élevés */  
replace groupe_diff_p1 = 0 if diff_p1r == 0 
label variable groupe_diff_p1 "Ecarts = (HY020-HY100N) - (total_after_tax_p1+revenus_indi_supp_famille)"
label define	l_groupe_diff_p1	0 "Ecarts à zéro" 1 "Ecarts très faibles >=-10 et <=10" 2 "Ecarts plus élevés <-10 et >10" 
label values	groupe_diff_p1	l_groupe_diff_p1

gen groupe_diff_p2 = 0
replace groupe_diff_p2 = 1 if diff_p2r >= -10 & diff_p2r <= 10 /* écarts faibles */  
replace groupe_diff_p2 = 2 if diff_p2r <  -10 | diff_p2r > 10  /* écarts plus élevés */  
replace groupe_diff_p2 = 0 if diff_p2r == 0 
label variable groupe_diff_p2 "Ecarts = (HY020-HY100N) - (total_after_tax_p2+revenus_indi_supp_famille)"
label define	l_groupe_diff_p2	0 "Ecarts à zéro" 1 "Ecarts très faibles >=-10 et <=10" 2 "Ecarts plus élevés <-10 et >10" 
label values	groupe_diff_p2	l_groupe_diff_p2

save "$ecrprov\comparaison_fin.dta", replace


* 6 - pourquoi 5% des obs présentent-t-elles des écarts significatifs ?
* diff_p1r
clear			
use "$ecrprov\comparaison_fin.dta", clear
keep if groupe_diff_p1 == 2
count /* 4475 */
keep if  diff_p1r <  -1000 | diff_p1r > 1000 
count /* 891*/
tab annee_SRCV /* 66% en 2011 */
count if  diff_p1r <  -1000 /* 71 */
count if  diff_p1r >  1000 /* 820 = 92%  */

*diff_p2r
clear			
use "$ecrprov\comparaison_fin.dta", clear
keep if groupe_diff_p2 == 2
count /* 4475 */
keep if  diff_p2r <  -1000 | diff_p2r > 1000 
count /* 891*/
tab annee_SRCV /* 66% en 2011 */
count if  diff_p2r <  -1000 /* 71 */
count if  diff_p2r >  1000 /* 820 = 92%  */


/******************************************************************************************/
/* V - mise en forme finale de la table                                                  */
/******************************************************************************************/
* création table avec adultvrairep == 1
clear 
use "$ecrfin\ind_men_2008_2019_agregats.dta", clear
sort men ind annee_SRCV
save "$ecrfin\ind_men_2008_2019_agregats.dta", replace
